package com.zbkj.common.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 验光仪测试报告单Vo对象
 * +----------------------------------------------------------------------
 * | CRMEB [ CRMEB赋能开发者，助力企业发展 ]
 * +----------------------------------------------------------------------
 * | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
 * +----------------------------------------------------------------------
 * | Licensed CRMEB并不是自由软件，未经许可不能去掉CRMEB相关版权
 * +----------------------------------------------------------------------
 * | Author: CRMEB Team <admin@crmeb.com>
 * +----------------------------------------------------------------------
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "验光仪测试报告单Vo对象", description = "验光仪测试报告单对象")
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class InspectionVo {

    public static InspectionVo buildSelfTest() {
        InspectionVo inspectionVo = new InspectionVo();
        Map<String, Object> params = new HashMap<>();
        inspectionVo.setName("张三");
        inspectionVo.setSampleNum("S123456");
        inspectionVo.setOpeUsername("操作员A");
        inspectionVo.setSex("男");
        inspectionVo.setInstrumentNum("INST-001");
        inspectionVo.setOpeTime("2023-10-01 10:00");
        inspectionVo.setBirthDate("1990-01-01");
        inspectionVo.setOpeDate("2023-10-01");

        ArrayList<String> diopterODSList = new ArrayList<>();
        diopterODSList.add("1°");
        diopterODSList.add("2°");
        inspectionVo.setDiopterODSList(diopterODSList);
        ArrayList<String> diopterODCList = new ArrayList<>();
        diopterODCList.add("3°");
        diopterODCList.add("4°");
        inspectionVo.setDiopterODCList(diopterODCList);
        ArrayList<String> diopterODAList = new ArrayList<>();
        diopterODAList.add("5°");
        diopterODAList.add("6°");
        inspectionVo.setDiopterODAList(diopterODAList);
        inspectionVo.setDiopterODSE(diopterODAList.get(1));


        ArrayList<String> diopterOSSList = new ArrayList<>();
        diopterOSSList.add("8°");
        diopterOSSList.add("9°");
        inspectionVo.setDiopterOSSList(diopterOSSList);
        ArrayList<String> diopterOSCList = new ArrayList<>();
        diopterOSCList.add("10°");
        diopterOSCList.add("11°");
        inspectionVo.setDiopterOSCList(diopterOSCList);
        inspectionVo.setDiopterOSSE(diopterOSCList.get(1));
        ArrayList<String> diopterOSAList = new ArrayList<>();
        diopterOSAList.add("12°");
        diopterOSAList.add("13°");
        inspectionVo.setDiopterOSAList(diopterOSAList);
        inspectionVo.setCornealODRK1List(diopterOSAList);
        inspectionVo.setCornealODRK2List(diopterOSAList);
        inspectionVo.setCornealODAList(diopterOSAList);
        inspectionVo.setCornealODCYL(diopterOSAList.get(1));
        inspectionVo.setCornealOSRK1List(diopterOSAList);
        inspectionVo.setCornealOSRK2List(diopterOSAList);
        inspectionVo.setCornealOSAList(diopterOSAList);
        inspectionVo.setCornealOSCYL(diopterOSAList.get(1));
        inspectionVo.setVd("29°");
        inspectionVo.setPd("30°");
        inspectionVo.setLogoImgPath("static/img/baseLogo.png");

        return inspectionVo;
    }

    /**
     * 姓名
     */
    private String name ;

    /**
     * 样本号
     */
    private String sampleNum;
    /**
     * 操作员
     */
    @ApiModelProperty(value = "操作员", required = true)
    private String opeUsername;
    /**
     * 性别
     */
    @ApiModelProperty(value = "性别", required = true)
    private String sex;
    /**
     * 仪器编号
     */
    @ApiModelProperty(value = "仪器编号", required = true)
    private String instrumentNum;
    /**
     * 测量时间
     */
    @ApiModelProperty(value = "测量时间", required = true)
    private String opeTime;

    /**
     * 出生日期
     */
    @ApiModelProperty(value = "出生日期", required = true)
    private String birthDate;

    /**
     * 测量日期
     */
    @ApiModelProperty(value = "测量时间", required = true)
    private String opeDate;

    /**
     * 屈光度OD/右眼 S
     */
    private List<String>  diopterODSList;

    /**
     * 屈光度OD/右眼 C
     */
    private List<String>  diopterODCList;

    /**
     * 屈光度OD/右眼 A
     */
    private List<String>  diopterODAList;

    /**
     * 屈光度ODSE
     */
    private String diopterODSE;

    /**
     * 屈光度OS/左眼 S
     */
    private List<String>  diopterOSSList;

    /**
     * 屈光度OS/左眼 C
     */
    private List<String>  diopterOSCList;

    /**
     * 屈光度OS/左眼 A
     */
    private List<String>  diopterOSAList;

    /**
     * 屈光度OSSE
     */
    private String diopterOSSE;


    /**
     * 角膜值OD右眼 R1/K1
     */
    private List<String>  cornealODRK1List;

    /**
     * 角膜值OD右眼 R2/K2
     */
    private List<String>  cornealODRK2List;

    /**
     * 角膜值OD/右眼 A
     */
    private List<String>  cornealODAList;

    /**
     * 角膜值ODCYL
     */
    private String cornealODCYL;


    /**
     * 角膜值OS左眼 R1/K1
     */
    private List<String>  cornealOSRK1List;

    /**
     * 角膜值OS左眼 R2/K2
     */
    private List<String>  cornealOSRK2List;

    /**
     * 角膜值OS/左眼 A
     */
    private List<String>  cornealOSAList;

    /**
     * 角膜值OSCYL
     */
    private String cornealOSCYL;

    /**
     * 镜眼距
     */
    private String vd;
    /**
     * 瞳距
     */
    private String pd;

    /**
     * 企业图片logo path  相对路径
     */
    private String logoImgPath;
}
